package org.distributed.transaction.core.enums;

/**
 * 事务传播方式
 * 
 * @author chenfanglin
 */
public enum Propagation {

	/**
	 * 当前没有分布式事务，就创建。当前有分布式事务，就加入
	 */
	REQUIRED,

	/**
	 * 当前没有分布式事务，非分布式事务运行。当前有分布式事务，就加入
	 */
	SUPPORTS;

	public static Propagation parser(String code) {
		switch (code) {
		case "REQUIRED": {
			return REQUIRED;
		}
		case "SUPPORTS": {
			return SUPPORTS;
		}
		default: {
			return REQUIRED;
		}
		}
	}
}
